x86/MSI: fix MSI-X case of freeing IRQ
authorJan Beulich <jbeulich@suse.com>
Mon, 6 Oct 2014 09:11:28 +0000 (11:11 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 6 Oct 2014 09:11:28 +0000 (11:11 +0200)
commit44d20c69516f8d5e71fc14bf216e230a9910d729
tree97feabe98222f9c00004f1643d3791184ec415d2
parent9bedd8707071aea9c1dfde00af44712cbbdc9897
x86/MSI: fix MSI-X case of freeing IRQ

Commit d1b6d0a024 ("x86: enable multi-vector MSI") went a little too
far with moving things around in msi_free_irqs() in order to streamline
the code: We shouldn't drop the MSI-X control page reference before
calling destroy_irq(), as the latter will call us back via
desc->handler->shutdown() (effectively invoking to msi_set_mask_bit()).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/msi.c